/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

AccessPoint
接入点相关接口

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/

#import <Foundation/Foundation.h>
#import <JDCloudOCSDKJcq/JcqApiModel.h>


@implementation JcqDescribeSubscriptionsRequest
-(id) initWithRegion:(NSString *)regionId
consumerGroupFilter:(NSString*)consumerGroupFilter
pageSize:(NSNumber*)pageSize
pageNumber:(NSNumber*)pageNumber
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.consumerGroupFilter = consumerGroupFilter;
    self.pageSize = pageSize;
    self.pageNumber = pageNumber;
    self.topicName = topicName;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
consumerGroupFilter:(NSString*)consumerGroupFilter
pageSize:(NSNumber*)pageSize
pageNumber:(NSNumber*)pageNumber
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.version = version;
    self.consumerGroupFilter = consumerGroupFilter;
    self.pageSize = pageSize;
    self.pageNumber = pageNumber;
    self.topicName = topicName;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self consumerGroupFilter])
    {
        [result setValue:[self consumerGroupFilter] forKey:@"consumerGroupFilter"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.consumerGroupFilter = [dictionary objectForKey:@"consumerGroupFilter"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.topicName = [dictionary objectForKey:@"topicName"];
    return self;
} 

@end
@implementation JcqCleanMessagesRequest
-(id) initWithRegion:(NSString *)regionId
topicName:(NSString*)topicName
consumerGroupId:(NSString*)consumerGroupId { 
    self.regionId = regionId;
    self.topicName = topicName;
    self.consumerGroupId = consumerGroupId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
topicName:(NSString*)topicName
consumerGroupId:(NSString*)consumerGroupId { 
    self.regionId = regionId;
    self.version = version;
    self.topicName = topicName;
    self.consumerGroupId = consumerGroupId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    if([self consumerGroupId])
    {
        [result setValue:[self consumerGroupId] forKey:@"consumerGroupId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.topicName = [dictionary objectForKey:@"topicName"];
    self.consumerGroupId = [dictionary objectForKey:@"consumerGroupId"];
    return self;
} 

@end
@implementation JcqDeleteSubscriptionRequest
-(id) initWithRegion:(NSString *)regionId
topicName:(NSString*)topicName
consumerGroupId:(NSString*)consumerGroupId { 
    self.regionId = regionId;
    self.topicName = topicName;
    self.consumerGroupId = consumerGroupId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
topicName:(NSString*)topicName
consumerGroupId:(NSString*)consumerGroupId { 
    self.regionId = regionId;
    self.version = version;
    self.topicName = topicName;
    self.consumerGroupId = consumerGroupId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    if([self consumerGroupId])
    {
        [result setValue:[self consumerGroupId] forKey:@"consumerGroupId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.topicName = [dictionary objectForKey:@"topicName"];
    self.consumerGroupId = [dictionary objectForKey:@"consumerGroupId"];
    return self;
} 

@end
@implementation JcqCreateSubscriptionRequest
-(id) initWithRegion:(NSString *)regionId
consumerGroupId:(NSString*)consumerGroupId
messageInvisibleTimeInSeconds:(NSNumber*)messageInvisibleTimeInSeconds
dlqEnable:(NSNumber*)dlqEnable
maxRetryTimes:(NSNumber*)maxRetryTimes
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.consumerGroupId = consumerGroupId;
    self.messageInvisibleTimeInSeconds = messageInvisibleTimeInSeconds;
    self.dlqEnable = dlqEnable;
    self.maxRetryTimes = maxRetryTimes;
    self.topicName = topicName;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
consumerGroupId:(NSString*)consumerGroupId
messageInvisibleTimeInSeconds:(NSNumber*)messageInvisibleTimeInSeconds
dlqEnable:(NSNumber*)dlqEnable
maxRetryTimes:(NSNumber*)maxRetryTimes
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.version = version;
    self.consumerGroupId = consumerGroupId;
    self.messageInvisibleTimeInSeconds = messageInvisibleTimeInSeconds;
    self.dlqEnable = dlqEnable;
    self.maxRetryTimes = maxRetryTimes;
    self.topicName = topicName;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self consumerGroupId])
    {
        [result setValue:[self consumerGroupId] forKey:@"consumerGroupId"];
    }
    if([self messageInvisibleTimeInSeconds])
    {
        [result setValue:[self messageInvisibleTimeInSeconds] forKey:@"messageInvisibleTimeInSeconds"];
    }
    if([self dlqEnable])
    {
        [result setValue:[self dlqEnable] forKey:@"dlqEnable"];
    }
    if([self maxRetryTimes])
    {
        [result setValue:[self maxRetryTimes] forKey:@"maxRetryTimes"];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.consumerGroupId = [dictionary objectForKey:@"consumerGroupId"];
    self.messageInvisibleTimeInSeconds = [dictionary objectForKey:@"messageInvisibleTimeInSeconds"];
    self.dlqEnable = [dictionary objectForKey:@"dlqEnable"];
    self.maxRetryTimes = [dictionary objectForKey:@"maxRetryTimes"];
    self.topicName = [dictionary objectForKey:@"topicName"];
    return self;
} 

@end
@implementation JcqModifySubscriptionAttributeRequest
-(id) initWithRegion:(NSString *)regionId
maxRetryTimes:(NSNumber*)maxRetryTimes
messageInvisibleTimeInSeconds:(NSNumber*)messageInvisibleTimeInSeconds
dlqEnable:(NSNumber*)dlqEnable
topicName:(NSString*)topicName
consumerGroupId:(NSString*)consumerGroupId { 
    self.regionId = regionId;
    self.maxRetryTimes = maxRetryTimes;
    self.messageInvisibleTimeInSeconds = messageInvisibleTimeInSeconds;
    self.dlqEnable = dlqEnable;
    self.topicName = topicName;
    self.consumerGroupId = consumerGroupId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
maxRetryTimes:(NSNumber*)maxRetryTimes
messageInvisibleTimeInSeconds:(NSNumber*)messageInvisibleTimeInSeconds
dlqEnable:(NSNumber*)dlqEnable
topicName:(NSString*)topicName
consumerGroupId:(NSString*)consumerGroupId { 
    self.regionId = regionId;
    self.version = version;
    self.maxRetryTimes = maxRetryTimes;
    self.messageInvisibleTimeInSeconds = messageInvisibleTimeInSeconds;
    self.dlqEnable = dlqEnable;
    self.topicName = topicName;
    self.consumerGroupId = consumerGroupId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self maxRetryTimes])
    {
        [result setValue:[self maxRetryTimes] forKey:@"maxRetryTimes"];
    }
    if([self messageInvisibleTimeInSeconds])
    {
        [result setValue:[self messageInvisibleTimeInSeconds] forKey:@"messageInvisibleTimeInSeconds"];
    }
    if([self dlqEnable])
    {
        [result setValue:[self dlqEnable] forKey:@"dlqEnable"];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    if([self consumerGroupId])
    {
        [result setValue:[self consumerGroupId] forKey:@"consumerGroupId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.maxRetryTimes = [dictionary objectForKey:@"maxRetryTimes"];
    self.messageInvisibleTimeInSeconds = [dictionary objectForKey:@"messageInvisibleTimeInSeconds"];
    self.dlqEnable = [dictionary objectForKey:@"dlqEnable"];
    self.topicName = [dictionary objectForKey:@"topicName"];
    self.consumerGroupId = [dictionary objectForKey:@"consumerGroupId"];
    return self;
} 

@end
@implementation JcqResetConsumeOffsetRequest
-(id) initWithRegion:(NSString *)regionId
time:(NSString*)time
topicName:(NSString*)topicName
consumerGroupId:(NSString*)consumerGroupId { 
    self.regionId = regionId;
    self.time = time;
    self.topicName = topicName;
    self.consumerGroupId = consumerGroupId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
time:(NSString*)time
topicName:(NSString*)topicName
consumerGroupId:(NSString*)consumerGroupId { 
    self.regionId = regionId;
    self.version = version;
    self.time = time;
    self.topicName = topicName;
    self.consumerGroupId = consumerGroupId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self time])
    {
        [result setValue:[self time] forKey:@"time"];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    if([self consumerGroupId])
    {
        [result setValue:[self consumerGroupId] forKey:@"consumerGroupId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.time = [dictionary objectForKey:@"time"];
    self.topicName = [dictionary objectForKey:@"topicName"];
    self.consumerGroupId = [dictionary objectForKey:@"consumerGroupId"];
    return self;
} 

@end
@implementation JcqDescribeSubscriptionRequest
-(id) initWithRegion:(NSString *)regionId
topicName:(NSString*)topicName
consumerGroupId:(NSString*)consumerGroupId { 
    self.regionId = regionId;
    self.topicName = topicName;
    self.consumerGroupId = consumerGroupId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
topicName:(NSString*)topicName
consumerGroupId:(NSString*)consumerGroupId { 
    self.regionId = regionId;
    self.version = version;
    self.topicName = topicName;
    self.consumerGroupId = consumerGroupId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    if([self consumerGroupId])
    {
        [result setValue:[self consumerGroupId] forKey:@"consumerGroupId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.topicName = [dictionary objectForKey:@"topicName"];
    self.consumerGroupId = [dictionary objectForKey:@"consumerGroupId"];
    return self;
} 

@end
@implementation JcqResendDeadLettersRequest
-(id) initWithRegion:(NSString *)regionId
messageIds:(NSString*)messageIds
topicName:(NSString*)topicName
consumerGroupId:(NSString*)consumerGroupId { 
    self.regionId = regionId;
    self.messageIds = messageIds;
    self.topicName = topicName;
    self.consumerGroupId = consumerGroupId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
messageIds:(NSString*)messageIds
topicName:(NSString*)topicName
consumerGroupId:(NSString*)consumerGroupId { 
    self.regionId = regionId;
    self.version = version;
    self.messageIds = messageIds;
    self.topicName = topicName;
    self.consumerGroupId = consumerGroupId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self messageIds])
    {
        [result setValue:[self messageIds] forKey:@"messageIds"];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    if([self consumerGroupId])
    {
        [result setValue:[self consumerGroupId] forKey:@"consumerGroupId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.messageIds = [dictionary objectForKey:@"messageIds"];
    self.topicName = [dictionary objectForKey:@"topicName"];
    self.consumerGroupId = [dictionary objectForKey:@"consumerGroupId"];
    return self;
} 

@end
@implementation JcqListDeadLettersRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
startTime:(NSString*)startTime
endTime:(NSString*)endTime
topicName:(NSString*)topicName
consumerGroupId:(NSString*)consumerGroupId { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.startTime = startTime;
    self.endTime = endTime;
    self.topicName = topicName;
    self.consumerGroupId = consumerGroupId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
startTime:(NSString*)startTime
endTime:(NSString*)endTime
topicName:(NSString*)topicName
consumerGroupId:(NSString*)consumerGroupId { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.startTime = startTime;
    self.endTime = endTime;
    self.topicName = topicName;
    self.consumerGroupId = consumerGroupId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    if([self consumerGroupId])
    {
        [result setValue:[self consumerGroupId] forKey:@"consumerGroupId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.topicName = [dictionary objectForKey:@"topicName"];
    self.consumerGroupId = [dictionary objectForKey:@"consumerGroupId"];
    return self;
} 

@end
@implementation JcqDeleteDeadLettersRequest
-(id) initWithRegion:(NSString *)regionId
messageIds:(NSString*)messageIds
topicName:(NSString*)topicName
consumerGroupId:(NSString*)consumerGroupId { 
    self.regionId = regionId;
    self.messageIds = messageIds;
    self.topicName = topicName;
    self.consumerGroupId = consumerGroupId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
messageIds:(NSString*)messageIds
topicName:(NSString*)topicName
consumerGroupId:(NSString*)consumerGroupId { 
    self.regionId = regionId;
    self.version = version;
    self.messageIds = messageIds;
    self.topicName = topicName;
    self.consumerGroupId = consumerGroupId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self messageIds])
    {
        [result setValue:[self messageIds] forKey:@"messageIds"];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    if([self consumerGroupId])
    {
        [result setValue:[self consumerGroupId] forKey:@"consumerGroupId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.messageIds = [dictionary objectForKey:@"messageIds"];
    self.topicName = [dictionary objectForKey:@"topicName"];
    self.consumerGroupId = [dictionary objectForKey:@"consumerGroupId"];
    return self;
} 

@end
@implementation JcqDeleteDeadLettersResult
-(id) initWithMessageIds:(NSArray<NSString*>*) messageIds { 
    self.messageIds = messageIds;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self messageIds])
    {
        [result setValue:[self messageIds] forKey:@"messageIds"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.messageIds = [dictionary objectForKey:@"messageIds"];
    return self;
} 

@end
@implementation JcqDescribeDeadLetterNumbersRequest
-(id) initWithRegion:(NSString *)regionId
consumerGroupId:(NSString*)consumerGroupId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize { 
    self.regionId = regionId;
    self.consumerGroupId = consumerGroupId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
consumerGroupId:(NSString*)consumerGroupId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize { 
    self.regionId = regionId;
    self.version = version;
    self.consumerGroupId = consumerGroupId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self consumerGroupId])
    {
        [result setValue:[self consumerGroupId] forKey:@"consumerGroupId"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.consumerGroupId = [dictionary objectForKey:@"consumerGroupId"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    return self;
} 

@end
@implementation JcqDescribeDeadLetterNumbersWithTopicRequest
-(id) initWithRegion:(NSString *)regionId
consumerGroupId:(NSString*)consumerGroupId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.consumerGroupId = consumerGroupId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.topicName = topicName;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
consumerGroupId:(NSString*)consumerGroupId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.version = version;
    self.consumerGroupId = consumerGroupId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.topicName = topicName;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self consumerGroupId])
    {
        [result setValue:[self consumerGroupId] forKey:@"consumerGroupId"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.consumerGroupId = [dictionary objectForKey:@"consumerGroupId"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.topicName = [dictionary objectForKey:@"topicName"];
    return self;
} 

@end
@implementation JcqResendDeadLettersResult
-(id) initWithMessageIds:(NSArray<NSString*>*) messageIds { 
    self.messageIds = messageIds;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self messageIds])
    {
        [result setValue:[self messageIds] forKey:@"messageIds"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.messageIds = [dictionary objectForKey:@"messageIds"];
    return self;
} 

@end
@implementation JcqDeleteTopicRequest
-(id) initWithRegion:(NSString *)regionId
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.topicName = topicName;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.version = version;
    self.topicName = topicName;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.topicName = [dictionary objectForKey:@"topicName"];
    return self;
} 

@end
@implementation JcqDescribeTopicRequest
-(id) initWithRegion:(NSString *)regionId
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.topicName = topicName;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.version = version;
    self.topicName = topicName;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.topicName = [dictionary objectForKey:@"topicName"];
    return self;
} 

@end
@implementation JcqCreateTopicRequest
-(id) initWithRegion:(NSString *)regionId
topicName:(NSString*)topicName
type:(NSString*)type
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.topicName = topicName;
    self.type = type;
    self.descriptionValue = descriptionValue;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
topicName:(NSString*)topicName
type:(NSString*)type
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.version = version;
    self.topicName = topicName;
    self.type = type;
    self.descriptionValue = descriptionValue;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    if([self type])
    {
        [result setValue:[self type] forKey:@"type"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.topicName = [dictionary objectForKey:@"topicName"];
    self.type = [dictionary objectForKey:@"type"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    return self;
} 

@end
@implementation JcqDescribeConsumerGroupIdsResult
-(id) initWithConsumerGroupIds:(NSArray<NSString*>*) consumerGroupIds { 
    self.consumerGroupIds = consumerGroupIds;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self consumerGroupIds])
    {
        [result setValue:[self consumerGroupIds] forKey:@"consumerGroupIds"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.consumerGroupIds = [dictionary objectForKey:@"consumerGroupIds"];
    return self;
} 

@end
@implementation JcqAddPermissionRequest
-(id) initWithRegion:(NSString *)regionId
permission:(NSString*)permission
targetUserId:(NSString*)targetUserId
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.permission = permission;
    self.targetUserId = targetUserId;
    self.topicName = topicName;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
permission:(NSString*)permission
targetUserId:(NSString*)targetUserId
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.version = version;
    self.permission = permission;
    self.targetUserId = targetUserId;
    self.topicName = topicName;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self permission])
    {
        [result setValue:[self permission] forKey:@"permission"];
    }
    if([self targetUserId])
    {
        [result setValue:[self targetUserId] forKey:@"targetUserId"];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.permission = [dictionary objectForKey:@"permission"];
    self.targetUserId = [dictionary objectForKey:@"targetUserId"];
    self.topicName = [dictionary objectForKey:@"topicName"];
    return self;
} 

@end
@implementation JcqRemovePermissionRequest
-(id) initWithRegion:(NSString *)regionId
permission:(NSString*)permission
targetUserId:(NSString*)targetUserId
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.permission = permission;
    self.targetUserId = targetUserId;
    self.topicName = topicName;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
permission:(NSString*)permission
targetUserId:(NSString*)targetUserId
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.version = version;
    self.permission = permission;
    self.targetUserId = targetUserId;
    self.topicName = topicName;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self permission])
    {
        [result setValue:[self permission] forKey:@"permission"];
    }
    if([self targetUserId])
    {
        [result setValue:[self targetUserId] forKey:@"targetUserId"];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.permission = [dictionary objectForKey:@"permission"];
    self.targetUserId = [dictionary objectForKey:@"targetUserId"];
    self.topicName = [dictionary objectForKey:@"topicName"];
    return self;
} 

@end
@implementation JcqDescribePermissionRequest
-(id) initWithRegion:(NSString *)regionId
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.topicName = topicName;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.version = version;
    self.topicName = topicName;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.topicName = [dictionary objectForKey:@"topicName"];
    return self;
} 

@end
@implementation JcqDescribeMessageRequest
-(id) initWithRegion:(NSString *)regionId
topicName:(NSString*)topicName
messageId:(NSString*)messageId { 
    self.regionId = regionId;
    self.topicName = topicName;
    self.messageId = messageId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
topicName:(NSString*)topicName
messageId:(NSString*)messageId { 
    self.regionId = regionId;
    self.version = version;
    self.topicName = topicName;
    self.messageId = messageId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    if([self messageId])
    {
        [result setValue:[self messageId] forKey:@"messageId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.topicName = [dictionary objectForKey:@"topicName"];
    self.messageId = [dictionary objectForKey:@"messageId"];
    return self;
} 

@end
@implementation JcqDescribeMessagesByBusinessIdRequest
-(id) initWithRegion:(NSString *)regionId
businessId:(NSString*)businessId
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.businessId = businessId;
    self.topicName = topicName;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
businessId:(NSString*)businessId
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.version = version;
    self.businessId = businessId;
    self.topicName = topicName;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self businessId])
    {
        [result setValue:[self businessId] forKey:@"businessId"];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.businessId = [dictionary objectForKey:@"businessId"];
    self.topicName = [dictionary objectForKey:@"topicName"];
    return self;
} 

@end
@implementation JcqDescribeMessageTraceRequest
-(id) initWithRegion:(NSString *)regionId
topicName:(NSString*)topicName
messageId:(NSString*)messageId { 
    self.regionId = regionId;
    self.topicName = topicName;
    self.messageId = messageId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
topicName:(NSString*)topicName
messageId:(NSString*)messageId { 
    self.regionId = regionId;
    self.version = version;
    self.topicName = topicName;
    self.messageId = messageId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    if([self messageId])
    {
        [result setValue:[self messageId] forKey:@"messageId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.topicName = [dictionary objectForKey:@"topicName"];
    self.messageId = [dictionary objectForKey:@"messageId"];
    return self;
} 

@end
@implementation JcqDescribeMessagesRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
pageSize:(NSNumber*)pageSize
pageNumber:(NSNumber*)pageNumber
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.pageSize = pageSize;
    self.pageNumber = pageNumber;
    self.topicName = topicName;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
pageSize:(NSNumber*)pageSize
pageNumber:(NSNumber*)pageNumber
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.pageSize = pageSize;
    self.pageNumber = pageNumber;
    self.topicName = topicName;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.topicName = [dictionary objectForKey:@"topicName"];
    return self;
} 

@end
@implementation JcqDescribeAccessPointRequest
-(id) initWithRegion:(NSString *)regionId
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.topicName = topicName;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
topicName:(NSString*)topicName { 
    self.regionId = regionId;
    self.version = version;
    self.topicName = topicName;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self topicName])
    {
        [result setValue:[self topicName] forKey:@"topicName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.topicName = [dictionary objectForKey:@"topicName"];
    return self;
} 

@end
@implementation JcqDeleteSubscriptionResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation JcqCleanMessagesResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation JcqDeleteSubscriptionResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqDeleteSubscriptionResult* result = [[JcqDeleteSubscriptionResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqDeleteSubscriptionResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation JcqDescribeSubscriptionResult
-(id) initWithSubscription:(Subscription*) subscription { 
    self.subscription = subscription;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self subscription])
    {
        [result setValue:[[self subscription] dictionary]forKey:@"subscription"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subscription = [[Subscription alloc]initWithDic:[dictionary objectForKey:@"subscription"]];
    return self;
} 

@end
  
@implementation JcqDescribeSubscriptionResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqDescribeSubscriptionResult* result = [[JcqDescribeSubscriptionResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqDescribeSubscriptionResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation JcqResetConsumeOffsetResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation JcqModifySubscriptionAttributeResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation JcqModifySubscriptionAttributeResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqModifySubscriptionAttributeResult* result = [[JcqModifySubscriptionAttributeResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqModifySubscriptionAttributeResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation JcqResetConsumeOffsetResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqResetConsumeOffsetResult* result = [[JcqResetConsumeOffsetResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqResetConsumeOffsetResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation JcqDescribeSubscriptionsResult
-(id) initWithSubscriptions:(NSArray<Subscription*>*) subscriptions
        totalCount:(NSNumber*)totalCount { 
    self.subscriptions = subscriptions;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self subscriptions])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self subscriptions] count]; i++) {
            Subscription* item = [[self subscriptions] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"subscriptions"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* subscriptionsArray = [dictionary objectForKey:@"subscriptions"];
    if(subscriptionsArray&&![subscriptionsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [subscriptionsArray count];i++)
        {
        Subscription* item = [[Subscription alloc]initWithDic:[subscriptionsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.subscriptions = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
@implementation JcqCreateSubscriptionResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation JcqCreateSubscriptionResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqCreateSubscriptionResult* result = [[JcqCreateSubscriptionResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqCreateSubscriptionResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation JcqDescribeSubscriptionsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqDescribeSubscriptionsResult* result = [[JcqDescribeSubscriptionsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqDescribeSubscriptionsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation JcqCleanMessagesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqCleanMessagesResult* result = [[JcqCleanMessagesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqCleanMessagesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation JcqDescribeDeadLetterNumbersResult
-(id) initWithDeadLetterNumbers:(NSArray<DeadLetterNumber*>*) deadLetterNumbers
        totalCount:(NSNumber*)totalCount { 
    self.deadLetterNumbers = deadLetterNumbers;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self deadLetterNumbers])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self deadLetterNumbers] count]; i++) {
            DeadLetterNumber* item = [[self deadLetterNumbers] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"deadLetterNumbers"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* deadLetterNumbersArray = [dictionary objectForKey:@"deadLetterNumbers"];
    if(deadLetterNumbersArray&&![deadLetterNumbersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [deadLetterNumbersArray count];i++)
        {
        DeadLetterNumber* item = [[DeadLetterNumber alloc]initWithDic:[deadLetterNumbersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.deadLetterNumbers = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
  
@implementation JcqDeleteDeadLettersResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqDeleteDeadLettersResult* result = [[JcqDeleteDeadLettersResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqDeleteDeadLettersResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation JcqDescribeDeadLetterNumbersWithTopicResult
-(id) initWithDeadLetterNumbers:(NSArray<DeadLetterNumber*>*) deadLetterNumbers
        totalCount:(NSNumber*)totalCount { 
    self.deadLetterNumbers = deadLetterNumbers;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self deadLetterNumbers])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self deadLetterNumbers] count]; i++) {
            DeadLetterNumber* item = [[self deadLetterNumbers] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"deadLetterNumbers"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* deadLetterNumbersArray = [dictionary objectForKey:@"deadLetterNumbers"];
    if(deadLetterNumbersArray&&![deadLetterNumbersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [deadLetterNumbersArray count];i++)
        {
        DeadLetterNumber* item = [[DeadLetterNumber alloc]initWithDic:[deadLetterNumbersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.deadLetterNumbers = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
  
@implementation JcqDescribeDeadLetterNumbersResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqDescribeDeadLetterNumbersResult* result = [[JcqDescribeDeadLetterNumbersResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqDescribeDeadLetterNumbersResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation JcqDescribeDeadLetterNumbersWithTopicResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqDescribeDeadLetterNumbersWithTopicResult* result = [[JcqDescribeDeadLetterNumbersWithTopicResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqDescribeDeadLetterNumbersWithTopicResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation JcqListDeadLettersResult
-(id) initWithDeadLetters:(NSArray<DeadLetter*>*) deadLetters
        totalCount:(NSNumber*)totalCount { 
    self.deadLetters = deadLetters;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self deadLetters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self deadLetters] count]; i++) {
            DeadLetter* item = [[self deadLetters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"deadLetters"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* deadLettersArray = [dictionary objectForKey:@"deadLetters"];
    if(deadLettersArray&&![deadLettersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [deadLettersArray count];i++)
        {
        DeadLetter* item = [[DeadLetter alloc]initWithDic:[deadLettersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.deadLetters = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
  
@implementation JcqListDeadLettersResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqListDeadLettersResult* result = [[JcqListDeadLettersResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqListDeadLettersResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation JcqResendDeadLettersResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqResendDeadLettersResult* result = [[JcqResendDeadLettersResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqResendDeadLettersResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation JcqDeleteTopicResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation JcqDescribeTopicsResult
-(id) initWithTopics:(NSArray<Topic*>*) topics
        totalCount:(NSNumber*)totalCount { 
    self.topics = topics;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self topics])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self topics] count]; i++) {
            Topic* item = [[self topics] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"topics"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* topicsArray = [dictionary objectForKey:@"topics"];
    if(topicsArray&&![topicsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [topicsArray count];i++)
        {
        Topic* item = [[Topic alloc]initWithDic:[topicsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.topics = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
@implementation JcqDescribeTopicResult
-(id) initWithTopic:(Topic*) topic { 
    self.topic = topic;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self topic])
    {
        [result setValue:[[self topic] dictionary]forKey:@"topic"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.topic = [[Topic alloc]initWithDic:[dictionary objectForKey:@"topic"]];
    return self;
} 

@end
  
@implementation JcqDescribeTopicResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqDescribeTopicResult* result = [[JcqDescribeTopicResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqDescribeTopicResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation JcqDescribeTopicsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqDescribeTopicsResult* result = [[JcqDescribeTopicsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqDescribeTopicsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation JcqCreateTopicResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation JcqDescribeTopicsRequest
-(id) initWithRegion:(NSString *)regionId
pageSize:(NSNumber*)pageSize
pageNumber:(NSNumber*)pageNumber
topicFilter:(NSString*)topicFilter
tagFilters:(NSArray<TagFilter*>*)tagFilters { 
    self.regionId = regionId;
    self.pageSize = pageSize;
    self.pageNumber = pageNumber;
    self.topicFilter = topicFilter;
    self.tagFilters = tagFilters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageSize:(NSNumber*)pageSize
pageNumber:(NSNumber*)pageNumber
topicFilter:(NSString*)topicFilter
tagFilters:(NSArray<TagFilter*>*)tagFilters { 
    self.regionId = regionId;
    self.version = version;
    self.pageSize = pageSize;
    self.pageNumber = pageNumber;
    self.topicFilter = topicFilter;
    self.tagFilters = tagFilters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self topicFilter])
    {
        [result setValue:[self topicFilter] forKey:@"topicFilter"];
    }
    if([self tagFilters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self tagFilters] count]; i++) {
            TagFilter* item = [[self tagFilters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"tagFilters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.topicFilter = [dictionary objectForKey:@"topicFilter"];
    NSArray* tagFiltersArray = [dictionary objectForKey:@"tagFilters"];
    if(tagFiltersArray&&![tagFiltersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [tagFiltersArray count];i++)
        {
        TagFilter* item = [[TagFilter alloc]initWithDic:[tagFiltersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.tagFilters = propertyArray;
    }
    return self;
} 

@end
  
@implementation JcqCreateTopicResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqCreateTopicResult* result = [[JcqCreateTopicResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqCreateTopicResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation JcqDeleteTopicResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqDeleteTopicResult* result = [[JcqDeleteTopicResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqDeleteTopicResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation JcqDescribeConsumerGroupIdsRequest
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation JcqDescribeConsumerGroupIdsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqDescribeConsumerGroupIdsResult* result = [[JcqDescribeConsumerGroupIdsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqDescribeConsumerGroupIdsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation JcqDescribePermissionResult
-(id) initWithPermissions:(NSArray<Permission*>*) permissions { 
    self.permissions = permissions;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self permissions])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self permissions] count]; i++) {
            Permission* item = [[self permissions] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"permissions"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* permissionsArray = [dictionary objectForKey:@"permissions"];
    if(permissionsArray&&![permissionsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [permissionsArray count];i++)
        {
        Permission* item = [[Permission alloc]initWithDic:[permissionsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.permissions = propertyArray;
    }
    return self;
} 

@end
  
@implementation JcqDescribePermissionResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqDescribePermissionResult* result = [[JcqDescribePermissionResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqDescribePermissionResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation JcqRemovePermissionResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation JcqAddPermissionResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation JcqAddPermissionResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqAddPermissionResult* result = [[JcqAddPermissionResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqAddPermissionResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation JcqRemovePermissionResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqRemovePermissionResult* result = [[JcqRemovePermissionResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqRemovePermissionResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation JcqDescribeMessagesByBusinessIdResult
-(id) initWithMessages:(NSArray<Message*>*) messages { 
    self.messages = messages;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self messages])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self messages] count]; i++) {
            Message* item = [[self messages] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"messages"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* messagesArray = [dictionary objectForKey:@"messages"];
    if(messagesArray&&![messagesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [messagesArray count];i++)
        {
        Message* item = [[Message alloc]initWithDic:[messagesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.messages = propertyArray;
    }
    return self;
} 

@end
  
@implementation JcqDescribeMessagesByBusinessIdResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqDescribeMessagesByBusinessIdResult* result = [[JcqDescribeMessagesByBusinessIdResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqDescribeMessagesByBusinessIdResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation JcqDescribeMessagesResult
-(id) initWithMessages:(NSArray<Message*>*) messages { 
    self.messages = messages;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self messages])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self messages] count]; i++) {
            Message* item = [[self messages] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"messages"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* messagesArray = [dictionary objectForKey:@"messages"];
    if(messagesArray&&![messagesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [messagesArray count];i++)
        {
        Message* item = [[Message alloc]initWithDic:[messagesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.messages = propertyArray;
    }
    return self;
} 

@end
  
@implementation JcqDescribeMessagesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqDescribeMessagesResult* result = [[JcqDescribeMessagesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqDescribeMessagesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation JcqDescribeMessageResult
-(id) initWithMessage:(Message*) message { 
    self.message = message;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self message])
    {
        [result setValue:[[self message] dictionary]forKey:@"message"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.message = [[Message alloc]initWithDic:[dictionary objectForKey:@"message"]];
    return self;
} 

@end
@implementation JcqDescribeMessageTraceResult
-(id) initWithMessageTraceInfo:(MessageTraceInfo*) messageTraceInfo { 
    self.messageTraceInfo = messageTraceInfo;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self messageTraceInfo])
    {
        [result setValue:[[self messageTraceInfo] dictionary]forKey:@"messageTraceInfo"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.messageTraceInfo = [[MessageTraceInfo alloc]initWithDic:[dictionary objectForKey:@"messageTraceInfo"]];
    return self;
} 

@end
  
@implementation JcqDescribeMessageTraceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqDescribeMessageTraceResult* result = [[JcqDescribeMessageTraceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqDescribeMessageTraceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation JcqDescribeMessageResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqDescribeMessageResult* result = [[JcqDescribeMessageResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqDescribeMessageResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation JcqDescribeAccessPointResult
-(id) initWithAccessPoint:(AccessPoint*) accessPoint { 
    self.accessPoint = accessPoint;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self accessPoint])
    {
        [result setValue:[[self accessPoint] dictionary]forKey:@"accessPoint"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.accessPoint = [[AccessPoint alloc]initWithDic:[dictionary objectForKey:@"accessPoint"]];
    return self;
} 

@end
  
@implementation JcqDescribeAccessPointResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
JcqDescribeAccessPointResult* result = [[JcqDescribeAccessPointResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(JcqDescribeAccessPointResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
 
